package com.boco.common.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.boco.modules.gdtp.vo.UserMenu;


/**
 * 
 * ClassName: MenuUtils <br/>
 * Function: TODO ADD FUNCTION. <br/>
 * Reason: TODO ADD REASON(可选). <br/>
 * date: 2017年3月13日 下午2:51:02 <br/>
 *
 * @author xups
 * @version 
 * @since JDK 1.7+
 */
public class MenuUtils {
	
	/**
	 * 传入menuInfo集合返回分类菜单树集合
	 * @date 2017年3月13日
	 * @author xups
	 * @param menuInfo
	 * @return
	 */
	public static List<UserMenu> resultMenu(List<Map<String, Object>> menuInfo){
		List<UserMenu> userMenu=new ArrayList<UserMenu>();

		//先获得顶级菜单
		for(Map<String, Object> menu:menuInfo){
			if(((Integer)menu.get("pid"))==0){
				UserMenu theMenu=new UserMenu();
				theMenu.setId((Integer)menu.get("id"));
				theMenu.setPid(0);
				theMenu.setName((String)menu.get("name"));
				theMenu.setUrl((String)menu.get("url"));
				userMenu.add(theMenu);
			}
		}
		//再获得各顶级菜单下的子菜单
		if(menuInfo!=null){
			for(Map<String, Object> menu:menuInfo){
				for(UserMenu theMenu:userMenu){
					if(((Integer)menu.get("pid"))==theMenu.getId()){
						UserMenu tempMenu=new UserMenu();
						tempMenu.setId((Integer)menu.get("id"));
						tempMenu.setPid(theMenu.getId());
						tempMenu.setName((String)menu.get("name"));
						tempMenu.setUrl((String)menu.get("url"));
						if(theMenu.getUserMenu()==null){
							theMenu.setUserMenu(new ArrayList<UserMenu>());
						}
						theMenu.getUserMenu().add(tempMenu);
					}
				}
			}
		}
		return userMenu;
	}
		
}
